package org.xinjiang.data.migration.flush.convert;

import org.mapstruct.Mapper;
import org.xinjiang.data.migration.common.mapstruct.CommonConvertConfig;
import org.xinjiang.data.migration.hainan.dto.res.JzdxResultDTO;
import org.xinjiang.data.migration.xinjiang.dto.res.XjJzdxResultDTO;
import org.xinjiang.data.migration.xinjiang.dto.res.XjSubJzdxResultDTO;

@Mapper(config = CommonConvertConfig.class)
public abstract class JzdxFlushConvert {
    public abstract JzdxResultDTO convert(XjSubJzdxResultDTO s);

    /**
     * 这个已经废弃了，采用sql的方式处理
     *
     * @param s XjJzdxResultDTO
     * @return JzdxResultDTO
     */
    public JzdxResultDTO convert(XjJzdxResultDTO s) {
        if (s == null) {
            return null;
        }

        JzdxResultDTO result = new JzdxResultDTO();

        result.setId(s.getId());
        //社区矫正对象编号
        result.setSqjzrybh(s.getSqjzrybh());
        //社区矫正机构编码
        result.setJzjgbm(s.getSuoshujiedaoId());
        //港澳居民往来内地通行证
        result.setYwgajmwlndtxz(s.getGangaowanglaineidi());
        result.setGajmwlndtxz(s.getGangaowanglaineidino());
        result.setGajmwlndtxzbczt(s.getGangaowanglaineidiStatus());
        //台胞证保存状态
        result.setTbzbczt(s.getTaibaoStatus());
        //暂予监外执行人员身体状况
        result.setZyjwzxrystzk(s.getTempJianwaishentizhuangkuang());
        //最后纠正医院
        result.setZhjzyy(s.getTempJiuzhenyiyuan());
        //是否有精神病
        result.setSfyjsb(s.getTempSfjingshenbing());
        //鉴定机构
        result.setJdjg(s.getJiandingjigou());
        //是否有传染病
        result.setSfycrb(s.getChuanran());
        //具体传染病
        result.setJtcrb(s.getChuanrancontent());
        //文化程度
        result.setWhcd(s.getWenhuachengdu());
        //婚姻状况
        result.setHyzk(s.getHunyinzhuangkuang());
        //捕前职业
        result.setPqzy(s.getRujiaoqianzhiye());
        //就业就学情况
        result.setJyjxqk(s.getJiuyejiuxuezhuangkuang());
        //现政治面貌
        result.setXzzmm(s.getZhengzhi());
        //原政治面貌
        result.setYzzmm(s.getZhengzhimianmao());
        //原工作单位
        result.setYgzdw(s.getTempYuangongzuodanwei());
        //现工作单位
        result.setXgzdw(s.getDangqianzhiyeDanwei());
        //个人联系电话
        result.setGrlxdh(s.getLianxidianhua());
        //国籍
        result.setGj(s.getGuoji());
        //有无家庭成员及主要社会关系：应当为是或者否，而不是直接写家庭成员名字
        result.setYxjtcyjzyshgx(s.getTempJiatingguanxi());
        //照片
        result.setZp(s.getZhaopian());
        //户籍地是否与居住地相同
        result.setHjdsfyjzdxt(s.getRenhufenli());
        //固定居住地所在省（区、市）
        result.setGdjzdszs(s.getProId());
        //固定居住地所在地（市、州）
        result.setGdjzdszds(s.getCityId());
        //固定居住地所在县（市、区）
        result.setGdjzdszxq("");
        //固定居住地（乡镇、街道）
        result.setGdjzd(s.getVilllId());
        //固定居住地明细
        result.setGdjzdmx(s.getShijijuzhudixiangxi());
        //户籍所在省（区、市）
        result.setHjszs(s.getNativepro());
        //户籍所在地（市、州）
        result.setHjszds(s.getNativecity());
        //户籍所在县（市、区）
        result.setHjszd("");
        //户籍所在地（乡镇、街道）
        result.setHjszd(s.getNativevill());
        //户籍所在地（乡镇、街道）
        result.setHjszdmx(s.getHujisuozaidi());
        //是否三无人员
        result.setSfswry(s.getSanwu());
        //矫正机构
        result.setJzjg(s.getTempJiaozhengjigou());
        //社区矫正决定机关
        result.setSqjzjdjg(s.getTempJiaozhengjuedingjiguan());
        //社区矫正决定机关名称
        result.setSqjzjdjgmc(s.getTempJuedingjiguanmingcheng());
        //交付执行日期
        result.setJfzxrq(s.getTempJiaofuriqi());
        //移交罪犯机关
        result.setYjzfjg(s.getTempYijiaozuifanjiguan());
        //移交罪犯机关名称
        result.setYjzfjgmc(s.getTempZuifanjiguanmingcheng());
        //是否有前科
        result.setSfyqk(s.getTempYouwuqianke());
        //是否累犯
        result.setSflf(s.getLeifan());
        //前科类型
        result.setQklx(s.getTempQiankeleixing());
        //主要犯罪事实
        result.setZyfzss(s.getTempZhuyaofanzuishishi());
        //社区矫正期限
        result.setSqjzqx(s.getJiaozhengqixian());
        //社区矫正开始日期
        result.setSqjzksrq(s.getJiaozhengKaishishijian());
        //社区矫正结束日期
        result.setSqjzjsrq(s.getJiaozhengJieshushijian());
        //犯罪类型
        result.setFzlx(s.getFanzuileixing());
        //缓刑考验期限,这里应当使用字典，而不是汉字
        result.setHxkyqx(s.getTempHuanxingkaoyuanqixian());
        //是否数罪并罚
        result.setSfszbf(s.getTempSfshuzuibingfa());
        //原判刑期
        result.setYpxq(s.getYuanpanxingqi());
        //是否“五独”
        result.setSfwd(s.getWudu());
        //是否有“四史”
        result.setSfyss(s.getSishi());
        //社区矫正人员接收方式
        result.setSqjzryjsfs(s.getJieshoufangshi());
        //报到情况
        result.setBdqk(s.getTempBaodaoqingkuang());
        //未按时报到情况说明
        result.setWasbdqksm(s.getTempWeibaodaoshuoming());
        //是否建立矫正小组
        result.setSfjljzxz(s.getTempSfjianlijiaozhengxiaozu());
        //矫正小组人员组成情况,应当为字典而不是汉字
        result.setJzxzryzcqk(s.getTempJiaozhengxiaozuzucheng());
        //是否采用电子定位管理
        result.setSfcydzdwgl("01");
        //电子定位方式
        result.setDzdwfs(s.getTempDianzidingweifangshi());
        //定位号码
        result.setDwhm(s.getTempDianzidingweihaoma());
        //是否脱管
        result.setSftk(s.getTempSftuoguan());
        //奖惩情况
        result.setJcqk(s.getTempJiangchengqingkuang());
        //备注
        result.setBz(s.getBeizhu());
        //是否调查评估
        result.setSfdcpg(s.getTempSfdiaochapinggu());
        //调查评估意见,不能是汉字
        result.setDcpgyj(s.getTempDiaochayijian());
        //调查意见采信情况
        result.setDcyjcxqk(s.getTempDiaochacaixin());
        //矫正类别
        result.setJzlb(s.getJiaozhengleibie());
        //身份证号
        result.setSfzh(s.getZhengjianhao());
        //是否成年
        result.setSfcn(s.getShifouweichengnian());
        //姓名
        result.setXm(s.getXingming());
        //曾用名
        result.setCym(s.getCengyongming());
        //性别
        result.setXb(s.getXingbie());
        //民族
        result.setMz(s.getMinzu());
        //出生日期
        result.setCsrq(s.getChushengriqi());
        //有无港澳台身份证
        result.setYwgatsfz(s.getTaibao());
        //港澳台身份证类型
        result.setGatsfzlx(s.getGangaotaiLeixing());
        //港澳台身份证号码
        result.setGatsfzhm(s.getTaibaono());
        //有无护照
        result.setYwhz(s.getHuzhaono());
        //护照号码
        result.setHzhm(s.getHuzhaono());
        //护照保存状态
        result.setHzbczt(s.getHuzhaoStatus());
        //有无港澳台通行证
        result.setYwgattxz(s.getGangao());
        //港澳台通行证保存状态
        result.setGattxzbczt(s.getGangaoStatus());
        //矫正人员状态
        result.setZt(s.getZaicezhuangtai());
        //当前管理级别
        result.setDqdj(s.getJzjb());
        return result;
    }

}
